package com.hmall.cart.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.hmall.cart.domain.po.Cart;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Update;

/**
 * 购物车数据访问层接口
 * 继承MyBatis-Plus的BaseMapper，提供基础CRUD功能
 * 同时自定义商品数量更新方法
 */
public interface CartMapper extends BaseMapper<Cart> {

    /**
     * 原子性更新购物车商品数量（增加1）
     * @param itemId 商品ID
     * @param userId 用户ID
     */
    @Update("UPDATE cart SET num = num + 1 WHERE user_id = #{userId} AND item_id = #{itemId}")
    void updateNum(@Param("itemId") Long itemId, @Param("userId") Long userId);
}